home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 April / CHIP 1996 aprilis (CD06).zip / CHIP_CD06.ISO / hypertxt.arj / 9311 / VGAXGA.CD < prev    next >
Text File  |  1995-04-19  |  23KB  |  363 lines

  1.           @VA VGA, az XGA és a valós színû megjelenítôk@N
  2.           @Vlehetôségei@N
  3.           
  4.           @VGrafikus konvertálások -- 5. rész@N
  5.           
  6.           Sorozatunk  befejezô részében a pillanatnyilag legfejlettebb
  7.           grafikus  adapterek  lehetôségeit  fogjuk tárgyalni, különös
  8.           figyelmet  szentelve  az igen nagy felbontású/színhasználatú
  9.           üzemmódoknak,  hiszen  napjainkban ezek jelentik a PC szintû
  10.           képfeldolgozás csúcsát.
  11.           
  12.           
  13.           
  14.           256  színû  VGA üzemmódokban a köztes file leképzése majdnem
  15.           ugyanolyan   elven   történik,   mint  a  16  színû  EGA/VGA
  16.           megjelenítések   (CHIP,   '93/4)  esetén.  Az  egyik  fontos
  17.           különbség  az,  hogy  az  átlagolandó  mezô -- amit az éppen
  18.           kiértékelendô  pixel  körül  olvasunk  --  jóval kisebb lesz
  19.           kiterjedését   tekintve,   mint   16   szín   esetén.  Azért
  20.           csökkenthetjük  az  átlagolandó  mezô méretét, mert 256 szín
  21.           esetén   a   kép  elkészültekor  feltehetôleg  jóval  kisebb
  22.           rasztermezôre  volt  szükség ahhoz, hogy ki lehessen keverni
  23.           a  kívánt  színt az adott felület számára (mivel a kívánthoz
  24.           jóval  közelebbi  színekbôl  lehetett  válogatni).  Ez pedig
  25.           azt  jelenti,  hogy még egy kisebb leolvasott felület esetén
  26.           is   igen  nagy  eséllyel  helyes  színt  kapunk,  ha  kellô
  27.           alapossággal   átlagoljuk   a   mátrixban  található  pontok
  28.           megfelelô  színkomponenseit.  Ha  pedig  nem  kell  túl nagy
  29.           mezôt  olvasnunk,  értelemszerûen jóval nagyobb esélyünk van
  30.           az élesség megôrzésére is.
  31.           
  32.           Az  eljárás  során  tehát egy adott pixel kiértékelésekor le
  33.           kell  olvasnunk  a  kép  környezô felületét -- legcélszerûbb
  34.           egy  3*3-as mátrixot letapogatni, amelynek a közepében van a
  35.           vizsgált  pixel.  Kinullázunk  egy  vörös,  zöld  és egy kék
  36.           átlagalapot,   majd   végigfutunk  a  mezô  összes  pixelén,
  37.           kiválasztva    a   pontok   közül   azokat,   amelyeknek   a
  38.           színeltérése  a központi pixel mérvadónak tekintett színétôl
  39.           nem  halad  meg  egy elôre definiált határértéket (ezekrôl a
  40.           pixelekrôl   feltételezhetô   ugyanis,   hogy   ugyanazt   a
  41.           színfelületet  próbálják  meg  kifejezni,  mint  a  központi
  42.           pixel).  A  színeltérés  számítása  természetesen  nem  mást
  43.           jelent,  mint  hogy  az  aktuális  pixel és a központi pixel
  44.           mindhárom  színkomponensét  egyenként  kivonjuk egymásból (a
  45.           vöröset  a  vörösbôl,  zöldet  a zöldbôl, a kéket a kékbôl),
  46.           majd  vesszük  a  különbségek  abszolút értékeit, és a három
  47.           így   kapott   értéket   összeadva   megkapjuk  az  abszolút
  48.           színeltérést.  Minél  nagyobbra  definiáljuk  azt  a határt,
  49.           amely  meghatározza,  hogy  elfogadjuk-e  az  adott  pixelt,
  50.           annál   finomabban   árnyalt   képet  kapunk  majd,  viszont
  51.           veszíthetünk  az  élességbôl.  Kisebb  tûréshatár  esetén az
  52.           élesség  kiváló  lesz,  de  csökken az árnyalatgazdagság. Ha
  53.           kiválasztottuk  azokat  a  pixeleket,  amelyek  a tûréshatár
  54.           alatti    színeltéréssel   rendelkeznek,   akkor   megfelelô
  55.           komponenseiket  hozzáadjuk  az azonos átlagalapokhoz (vörös,
  56.           zöld  és  kék),  majd  mindhárom  átlagalapot  elosztjuk  az
  57.           elfogadott    pixelek   számával.   A   három   átlagértéket
  58.           megfeleltetjük  a vizsgált központi pixel vörös, zöld és kék
  59.           komponensének, majd felvesszük ôket a köztes file-ba.
  60.           
  61.           32  ezer  (pontosan  32|768)  és  64  ezer (pontosan 65|536)
  62.           színû  XGA megjelenítések esetén ugyanezt kell tennünk, csak
  63.           most  jóval  lejjebb  szoríthatjuk  a  tûréshatárt  a színek
  64.           nagyobb  száma  miatt  -- megôrizve ezzel a kellô élességet.
  65.           Valós    színû    (true    color)    megjelenítések   esetén
  66.           természetesen  a  kép  megegyezik  a  róla leképzendô köztes
  67.           file-lal.  A  köztes  file  tulajdonképpen maga is egy valós
  68.           színû kép.
  69.           
  70.           Egy    apró   trükkel   elérhetjük,   hogy   a   256   színû
  71.           ábrázolásokról   leképzôdô   köztes   file  megtartsa  kellô
  72.           élességét  és  mégis  valamivel árnyalatgazdagabbá váljon --
  73.           anélkül,  hogy  növelnénk  a  tûréshatárt.  A trükk lényege,
  74.           hogy  a  köztes  file-on  még  egyszer elvégezzük ugyanezt a
  75.           mûveletsort,  azzal a különbséggel, hogy a tûréshatárt jóval
  76.           lejjebb  visszük  (tehetjük,  hiszen ez már majdnem megfelel
  77.           egy  átlagos  XGA képnek). Mindennek az ad értelmet, hogy az
  78.           elsô  leképzéskor a program lehet, hogy elfogadott egy adott
  79.           ponthalmazt  és  átlagolta  is  ôket, de a pontok átlaga még
  80.           mindig   nem   adott   kellô  árnyaltságot,  mert  a  3*3-as
  81.           leolvasott   mezô   túl  kicsi  volt  ahhoz,  hogy  benne  a
  82.           megfelelô  árnyalat  kifejezôdhessen. A többszörös átlagolás
  83.           viszont  tulajdonképpen ""kinyúl" az eredeti 3*3-as mezôbôl,
  84.           hiszen  a  vizsgált  pont melletti pont már tartalmazza több
  85.           olyan   pont   átlagát   is,   amelyeket   ô   elérhetett  a
  86.           letapogatáskor  de  a  vizsgált  pont nem. E trükknek persze
  87.           semmi értelme egy XGA kép esetén.
  88.           
  89.           
  90.            @VEgy kifinomult optimalizáció@N
  91.           
  92.           A  legutóbbi  írásban  (CHIP  93/04) már ismertettünk néhány
  93.           igen  egyszerû  és  gyors, valamint néhány közepesen fejlett
  94.           optimalizálási   algoritmust.  Részletesen  kifejtettük  azt
  95.           is,  hogy  mit  jelent  a  háromdimenziós, térbeli színkocka
  96.           elve.   Az   itt   leírásra   kerülô,   igen   jó   minôségû
  97.           optimalizálási  algoritmusok  is  ezt  a  színkockát  fogják
  98.           használni a színek kiválasztásához.
  99.           
  100.           Csak  emlékeztetésképpen,  az optimalizáció célja az, hogy a
  101.           rendelkezésre  álló  262|144  színbôl  (VGA) kiválaszthassuk
  102.           azt  a  256-ot,  amelynek  segítségével  leginkább ki tudjuk
  103.           fejezni     a    megjelenítendô    kép    árnyalatait.    Az
  104.           optimalizációnak  természetesen  csak  VGA  üzemmódok esetén
  105.           van  értelme,  hiszen  XGA és valós színû ábrázolások esetén
  106.           nincs   paletta,   amirôl  válogatni  lehetne  (illetve  van
  107.           paletta,   de   alapértelmezésben   tartalmazza   az  összes
  108.           megjeleníthetô színt).
  109.           
  110.           Elôször   is,   nullázzuk  ki  a  színkocka  összes  elemét.
  111.           Fussunk  végig  az  optimalizálandó  képen,  és minden egyes
  112.           pont  leolvasásakor  növeljük  meg  a  térbeli  színkockában
  113.           annak   a   térelemnek  a  számlálóját,  ami  elhelyezkedése
  114.           alapján az éppen leolvasott pixelszínt reprezentálja.
  115.           
  116.           Ha  ezzel elkészültünk, vágjuk fel a színkockát, ugyanazt az
  117.           elvet  alkalmazva,  amit korábbi írásunkban ismertettünk. Az
  118.           egyetlen   különbség,  hogy  most  nem  16  vagy  32  részre
  119.           szeleteljük  fel,  hanem  256  különálló térelemre. Tehetjük
  120.           azt  is,  hogy  az  elkészült  elemeket máris elfogadjuk egy
  121.           palettaelem  alapjául  szolgáló  térrészként,  és  súlyozott
  122.           átlagokat  készítve  belôlük  létrehozzuk  a  palettát (lásd
  123.           késôbb), de így nem kapunk igazán jó eredményeket.
  124.           
  125.           Elôfordulhat  ugyanis,  hogy  a  256  térelem  közül  néhány
  126.           egyáltalán  nem  tartalmaz  pixeleket, vagy csak kevés pixel
  127.           van  bennük -- vagyis tulajdonképpen feleslegesen pazarolják
  128.           az   értékes  palettaelemeket.  Ki  kell  válogatnunk  tehát
  129.           azokat  a  térelemeket,  amelyekre igaz az elôbbi kritérium.
  130.           Ehhez  meg kell húznunk egy határt, amely azt határozza meg,
  131.           hogy   minimum  hány  pixel  tartalmazása  esetén  kell  egy
  132.           térelemet  elfogadhatónak  tekinteni  (azt, hogy egy térelem
  133.           hány    pixelt    tartalmaz,    úgy    számíthatjuk   ki   a
  134.           legegyszerûbben,  hogy  a  bennük  levô  számlálók  értékeit
  135.           összeadjuk).  Eldöntjük,  hogy  ennek  alapján  hány térelem
  136.           minôsül  feleslegesnek  (X),  és  ki  kell dobnunk az összes
  137.           felesleges  térelemet.  Ezután  X-szer  végre kell hajtanunk
  138.           azt,  hogy rákeresünk a legtöbb pixelt tartalmazó térelemre,
  139.           félbevágjuk  azt  és  újra  kiértékeljük, hogy a félbevágott
  140.           részek hány pixelt tartalmaznak.
  141.           
  142.           Ha  minden  jól  megy, a végén ismét 256 érvényes térelemhez
  143.           jutunk.   E   térrészekben   súlyozott  átlagokat  készítünk
  144.           (vagyis  nullázunk  egy  vörös,  zöld  és  kék  átlagalapot;
  145.           végigfutunk  a térrészben lévô összes színelem-számlálón, és
  146.           a  színelem  által  reprezentált szín komponenseit annyiszor
  147.           adjuk  hozzá az átlagalaphoz, amennyit a színelem számlálója
  148.           meghatároz;  végül  az  átlagalapokat  elosztjuk  a  térrész
  149.           által  tartalmazott  pixelek  számával).  Az  elkészült  256
  150.           súlyozott  színátlagot  egyenként  betöltjük a palettába, és
  151.           érvényesítjük a palettát.
  152.           
  153.           A  paletta elkészítésének másik lehetséges változata, hogy a
  154.           színkocka  felszeletelésekor  nem  feltétlenül a leghosszabb
  155.           kiterjedés  mentén  vágunk,  és nem feltétlenül félbe vágjuk
  156.           az  adott  térelemet,  hanem úgy próbáljuk meg felszeletelni
  157.           azt,  hogy  a  keletkezett  részek a lehetô leginkább azonos
  158.           számú  pixelt  tartalmazzák  --  esetleg  kombinálhatjuk  is
  159.           egymással  a  döntés  elemeit,  egyszerre  figyelembe véve a
  160.           legnagyobb  hosszúság  szerinti vágás és az egyenlô eloszlás
  161.           elvét.  Ha  ilyesfajta  elvet  követünk, és így vágjuk végig
  162.           256  térelem  ""mélységig"  a  kockát,  akkor mellôzhetjük a
  163.           kiejtôs-újraszeletelôs   algoritmust,   hiszen   minden  kis
  164.           térrész   viszonylag   azonos   ""értékû"   lesz.   Ilyenkor
  165.           egyszerûen   elkészítjük   a   súlyozott  színátlagokat,  és
  166.           feltöltjük ôket az érvényesítendô palettába.
  167.           
  168.           
  169.            @VA köztes file-ok megjelenítése@N
  170.           
  171.           A  köztes  file-okat  VGA  és  XGA  üzemmódokban raszterezve
  172.           jeleníthetjük    meg,    valós    színû   üzemmódban   pedig
  173.           természetesen  raszterezés  nélkül,  úgy, ahogy vannak. 256,
  174.           32/64   ezer   színû   raszterezéshez   az   elôzô   írásban
  175.           ismertetett    színes    hibaszórásos    rasztereljárás    a
  176.           legmegfelelôbb,  természetesen  azzal  a  módosítással, hogy
  177.           VGA  esetén  a  kapott  szín  alapján mûködô pixelkiválasztó
  178.           algoritmus  nem  16, hanem 256 palettaelemet vizsgál végig a
  179.           legközelebbi  színpont  után kutatva. 32/64 ezer szín esetén
  180.           a   legmegfelelôbb   pixelérték   kiválasztásához  nem  kell
  181.           végigkutatni  a  palettát,  hanem egyszerûen el kell osztani
  182.           8/8/8-cal  (32 ezer szín) illetve 8/4/8-cal (64 ezer szín) a
  183.           köztes   file  vörös/zöld/kék  komponenseit,  hiszen  ez  az
  184.           értékhármas eleve kijelöl egy pixelértéket az XGA palettán.
  185.           
  186.           Igaz  ugyan, hogy a legszebb eredményt a színes hibaszórásos
  187.           eljárás  szolgáltatja,  mégis  érdemes  egy további eljárást
  188.           szemügyre  vennünk,  mivel  a  hibaszórásnak  bizony  súlyos
  189.           hátrányai  vannak.  A  legnagyobb visszásság az, hogy ha már
  190.           elkészítettünk   egy   képet,   és   késôbb  X,Y  pozícióban
  191.           módosítanunk   kell   azt   valamilyen   ok   miatt,   akkor
  192.           kénytelenek  vagyunk  az  egészet  újra rajzolni, hiszen nem
  193.           ismerjük   az   adott   pozícióban   a  három  színkomponens
  194.           vonatkozó   hibaváltozóját.   Szükségünk   lehet  egy  olyan
  195.           eljárásra  is,  amely  fix  raszterezettséggel állítja elô a
  196.           képeket,   olyasformán,   mint   ahogyan   az   a   monokróm
  197.           merevrasztereknél történt.
  198.           
  199.           Ållítsunk  elô VGA-n egy általános, átfogó jellegû palettát.
  200.           A  legcélszerûbb  úgy eljárni, hogy a teljes vörös és a zöld
  201.           skálát   8-8,   a   kék  skálát  pedig  négy  részre  osztva
  202.           elôállítjuk  a skálaelemek összes kombinációját (8*8*4=256),
  203.           és  megfeleltetjük  az  így kapott színeket a palettának. Ez
  204.           voltaképpen   azt  jelenti,  hogy  3-3-2  bitet  áldozunk  a
  205.           vörös-zöld-kék    skálákra   a   palettából:   az   aktuális
  206.           palettaelem  8  bites  indexének felsô 3 bitje az adott szín
  207.           vörös  értékét  tartalmazza,  a középsô 3 bit a zöld, míg az
  208.           alsó  két  bit  a  kék  értéket  jelenti  (a  kék  színre  a
  209.           legkevésbé  érzékeny  az  emberi szem). XGA esetén a paletta
  210.           alapértelmezésben  8/8/8-as  egységekben  (32K szín) illetve
  211.           8/4/8-as    egységekben    (64K    szín)    tartalmazza    a
  212.           vörös/zöld/kék komponenseket.
  213.           
  214.           Az   árnyalatok   kellôen   finom   kikeveréséhez  egyszerre
  215.           alkalmazzuk  a  monokróm konvertálásoknál is használt 8*8-as
  216.           merevrasztert,   valamint   a  paletta  színkomponensenkénti
  217.           osztottságát.  A  könnyebb megértés érdekében lássuk elôször
  218.           csak egy színkomponens teljes skálájának felépítését.
  219.           
  220.           A  vörös skála VGA esetén 8 részre van osztva, tehát 8 bites
  221.           teljesérték   esetén   32   alatt  tiszta  fekete  áll  csak
  222.           rendelkezésünkre,   32  felett  egy  nagyon  halvány  tiszta
  223.           vörös,  64-tôl  egy  kicsit  erôsebb vörös... és így tovább,
  224.           egészen  a  teljes  vörös  telítettségig. Raszterezést tehát
  225.           akkor   kell   végeznünk,  ha  már  meghaladtunk  egy  olyan
  226.           színtelítettséget,  ahol  rendelkezésünkre  állt  egy tiszta
  227.           vörös  palettaelem,  de  még  nem értük el a következô vörös
  228.           palettaelemet.  0  és  32  között  tehát raszterezni fogunk,
  229.           akárcsak  32  és  64  között, egészen 256-ig. Azt, hogy a 65
  230.           rendelkezésre   álló   merevraszter  közül  melyiket  fogjuk
  231.           felhasználni,  az attól függ, hogy milyen arányban osztjuk a
  232.           két  rendelkezésre  álló  ""tiszta"  vörös  közötti  skálát.
  233.           16-os  telítettség  esetén  például  az  50%-os telítettségû
  234.           rasztert  (31)  fogjuk  használni,  éppúgy,  mint 48 esetén,
  235.           hiszen   ezek   a   telítettségek   pont  félúton  vannak  a
  236.           szomszédos   ""tiszta"  palettaelemek  közötti  lyukban.  Az
  237.           egyetlen  különbség  a  monokróm raszterhasználathoz képest,
  238.           hogy  most  nem feketét rakunk akkor, ha nem találunk pontot
  239.           a  rasztermezô  megfelelô  pontján, és nem fehéret akkor, ha
  240.           találunk;  a fekete pont funkcióját itt a legközelebbi olyan
  241.           ""tiszta"   vörös   szín   veszi  át,  amely  a  pillanatnyi
  242.           telítettségtôl  lefelé  van  a  skálán,  a  fehérét  pedig a
  243.           legközelebbi  olyan  ""tiszta"  vörös,  amely az aktuálisnál
  244.           feljebb helyezkedik el a telítettségek sorában.
  245.           
  246.           Azt,   hogy   melyik   pontot   kell  vizsgálnunk  a  8*8-as
  247.           rasztermezôn   belül,  ugyanúgy  kell  eldöntenünk,  mint  a
  248.           monokróm  képek  esetén.  Képlet szerint: Xrel = Xpos mod 8,
  249.           Yrel  =  Ypos mod 8 (ahol az Xrel;Yrel a rasztermezôn belüli
  250.           koordináták,  az  Xpos;Ypos az adott pontnak a kép bal felsô
  251.           sarkához  viszonyított  koordinátái,  a  mod pedig egy olyan
  252.           osztás,   amely   eredményként   a  mûvelet  maradékát  adja
  253.           vissza).
  254.           
  255.           Egyszerû  példával  élve, 40-es vörös telítettség esetén, ha
  256.           a   kirakandó   pont  koordinátái  37;113,  akkor  meg  kell
  257.           vizsgálnunk  a  25%-os  telítettségû  rasztert, azaz a 15-ös
  258.           indexû   mátrixot,   hogy   tartalmaz-e   pontot  az  5;1-es
  259.           pozícióban  (25% azért, mert a 40-es telítettség pont az 1/4
  260.           részénél  osztja a 32 és a 64 közötti skálát, márpedig e két
  261.           ""tiszta"  vörös  határolja  a  40-es telítettséget). Ha nem
  262.           találunk   pontot  a  raszter  5;1-es  pozícióján,  akkor  a
  263.           37;113-as  fizikai képpontra 32-es vörös telítettségû pixelt
  264.           rakunk  ki,  ha viszont találunk pontot az adott pozícióban,
  265.           akkor  64-es  vörös  árnyalatú  pontot  helyezünk  el  a kép
  266.           ugyanezen helyén.
  267.           
  268.           A  zöld  és  a  kék  skálák  elkészítésének az elve ugyanez,
  269.           figyelembe    véve   persze   a   kék   csatorna   különbözô
  270.           osztottságát.  Nekünk  persze  nem  különálló  skálákra  van
  271.           szükségünk,   hanem   arra,  hogy  egy  színkomponens-hármas
  272.           alapján  a  három  raszterskála adott telítettségû helyeinek
  273.           tetszôleges  kombinációját  tudjuk  megjeleníteni  egy adott
  274.           ponton.  Nincs azonban semmi probléma, hiszen a palettát úgy
  275.           építettük  fel,  hogy  bármely  három ""tiszta" szín bármely
  276.           tetszôleges  kombinációja  szerepel  benne.  Nincs  hát  más
  277.           dolgunk,  mint  hogy  külön-külön  a  vörös, a zöld és a kék
  278.           komponensekre   nézve   elvégezzük  az  elôbbi  mûveletsort,
  279.           megkapva  az adott komponens-skálán megjelenítendô ""tiszta"
  280.           színt,  majd  megkeressük  a palettának azt az elemét, amely
  281.           megegyezik  az  így megkapott ""tiszta" színkomponens-hármas
  282.           aktuális   kombinációjával.   Ez   lesz  az  a  pixel,  amit
  283.           fizikailag   megjelenítünk   a   képernyôn   az   adott  X,Y
  284.           koordináták által meghatározott helyen.
  285.           
  286.           Van  azonban  még  egy  apró  probléma.  Ha mondjuk 8 részre
  287.           osztjuk  a  teljes  skálát, és 32-es egységenként lépünk egy
  288.           ""tiszta"  színt  a  telítettségi  skálán, akkor a következô
  289.           színkomponens-erôsségi  sorozatot  kapjuk:  0,  32,  64, 96,
  290.           128,  160,  192, 224. Ezzel az a legnagyobb probléma, hogy a
  291.           legerôsebb   komponens   jóval   alatta  marad  az  elérhetô
  292.           maximális   telítettségnek   (ez   a   hiányosság  különösen
  293.           érzékelhetô  a  kék  skála  esetében,  ahol ugyanilyen elvet
  294.           követve   a   192-es   telítettség  jelentené  a  legerôsebb
  295.           ""tiszta"  kék  színt).  Már az is éppen elég nagy baj, hogy
  296.           a  megjelenô  maximális  fényességû  pixelek  is túl sötétek
  297.           lesznek.  Az  egészben leginkább az a katasztrofális, hogy a
  298.           megjelenítés     során     mi     igenis     kapunk    olyan
  299.           komponens-értékeket,  amelyek 224 illetve 192 felett vannak,
  300.           és  ezekkel  nem tudunk mit kezdeni, hiszen nem felelnek meg
  301.           egyik   ""tiszta"   színnek   sem,   viszont  nincsenek  két
  302.           ""tiszta"   szín   között   sem.   A  megoldás  meglehetôsen
  303.           egyszerû;  nem  fix  egységenként  kell  növelni a ""tiszta"
  304.           színek  telítettségét,  hanem  egy egyszerû aránypárral kell
  305.           ôket  rászámítani  a  256-os skálára -- általános képlettel:
  306.           Telítettség  =  255*(Aktuális  / (Osztottság-1)). Ha tehát 8
  307.           részre  osztunk  egy  skálát, akkor a telítettségi szintek 0
  308.           és  7  között  lehetnek,  s  a maximális vörös telítettség =
  309.           255*(7/(8-1)), vagyis 255.
  310.           
  311.           Természetesen  ennek megfelelôen módosul az összes számszerû
  312.           adat,   amit  a  magyarázathoz  felhasználtunk,  de  az  elv
  313.           ugyanaz   marad.   Ha   mégsem   akarjuk  megváltoztatni  az
  314.           elképzeléseinket  (mármint  a  számszerû adatokat tekintve),
  315.           vagy  úgy  találjuk,  hogy  fix  egységekkel dolgozva sokkal
  316.           egyszerûbb  megírni  az  algoritmust, akkor tehetjük azt is,
  317.           hogy    a   bejövô   adatokat   arányosan   rászámítjuk   az
  318.           ""egységenkénti"  skála  szerinti  maximális komponens által
  319.           meghatározott   értéktartományra   (vörös   és  zöld  esetén
  320.           0..224,  kék esetén 0..192), de a palettaelemekbe fizikailag
  321.           akkor  is  az  arányos számítással megkapott értékeket kell,
  322.           hogy töltsük (különben túl sötét lesz a megjelenô kép).
  323.           
  324.           Az  algoritmus  ugyanígy  mûködik  32  ezer  illetve 64 ezer
  325.           színû   megjelenítések   során   is,   csupán   a  számszerû
  326.           konstansok  változnak.  Ha a 16 színû EGA és VGA üzemmódokat
  327.           nézzük,  azokra  is  igaz,  hogy  a  színes hibaszórás szebb
  328.           eredményeket    produkál,    mint   ez   a   fajta   osztott
  329.           merevraszteres  tachnika  --  viszont  az elôbb leírtak igen
  330.           jól  használhatók  a  16  színû  üzemmódokban  is  (8  színt
  331.           kihasználva,  2-2-2  részre  bontva a színkomponenseket), és
  332.           az elônyei ott is érvényesülnek.
  333.           
  334.           
  335.            @VUtószó@N
  336.           
  337.           Ezzel  befejeztük  a különbözô grafikus megjelenítôk közötti
  338.           képkonvertálások  tárgyalását.  A  sorozatban nem volt célom
  339.           az,  hogy  az  összes létezô megjelenítô kártya lehetôségeit
  340.           hardver-  illetve  programozási  szinten ismertessem, csupán
  341.           egy  átfogó,  elvi  képet akartam adni azokról a képkezelési
  342.           eljárásokról,  amelyeket  a  fejlettebb  grafikai  programok
  343.           alkalmaznak,   és  amelyek  segítségével  a  legelterjedtebb
  344.           grafikus   adapterek  grafikai  lehetôségeit  kihasználhatja
  345.           bárki,   akinek   ez   célja,   hobbija   vagy   érdeke.  Az
  346.           ismertetett   eljárásoknak   rengeteg   különbözô  változata
  347.           létezik,  és  egymással  is  tetszôleges  módon variálhatók.
  348.           Remélem,  elegendô  támpontot  adtam ahhoz, hogy bárki, akit
  349.           érdekel   a  grafikus  képfeldolgozás,  és  van  hozzá  némi
  350.           programozási    gyakorlata,   kellô   hatékonysággal   tudja
  351.           felhasználni      ezeket     az     ismereteket,     illetve
  352.           továbbfejlesztve   azokat   még   jobb,   még   szebb,   még
  353.           hatékonyabb képkezelési eljárásokat dolgozhasson ki.
  354.           
  355.           @KNagy Gergely@N
  356.           
  357.           @VReferencia@N
  358.           
  359.           Grafikus konvertálások -- 1 (Monokróm 1): CHIP 93/január
  360.           Grafikus konvertálások -- 2 (Monokróm 2): CHIP 93/február
  361.           Grafikus konvertálások -- 3 (CGA, EGA 1): CHIP 93/április
  362.           Grafikus konvertálások -- 4 (CGA, EGA 2): CHIP 93/június
  363.